/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2021-10-17     hehung       the first version
 */
#ifndef APPLICATIONS_APP_OLED_H_
#define APPLICATIONS_APP_OLED_H_

#include <stdint.h>


#define OLED_DISPLAY_NONE                    ((uint8_t)0u)
#define OLED_DISPLAY_TIME                    ((uint8_t)1u)
#define OLED_DISPLAY_SETTING                 ((uint8_t)2u)
#define OLED_DISPLAY_WIFI                    ((uint8_t)3u)
#define OLED_DISPLAY_CLOCK                   ((uint8_t)4u)
#define OLED_DISPLAY_ESP8266_INIT            ((uint8_t)5u)
#define OLED_DISPLAY_RECV_FINISH             ((uint8_t)6u)
#define OLED_DISPLAY_MSG                     ((uint8_t)7u)
#define OLED_DISPLAY_MSG_RECIVED             ((uint8_t)8u)
#define OLED_DISPLAY_INTNETTIME              ((uint8_t)9u)
#define OLED_DISPLAY_DATE_SETTING            ((uint8_t)10u)
#define OLED_DISPLAY_WIFI_RETRY              ((uint8_t)11u)


#define OLED_ESP8266_RECV_IMG_NUM                  ((uint16_t)2048)

extern void OLED_AppInit(void);
extern void OLED_SetDisplayFlag(uint8_t paraFlg);
extern void OLED_Display2RightSwitch(void);
extern void OLED_Display2LeftSwitch(void);
extern void OLED_DisplayTressSwitchHoldCnt(void);
extern void OLED_DisplayThreeSwitch(void);
extern void OLED_DataDownloadRefresh(void);
extern void OLED_ShowImgFromESP8266Server(const uint8_t *paraImg, uint8_t color);
extern uint8_t OELD_GetMsgWarningFlg(void);
extern void OLED_SetMsgTipsFlag(uint8_t paraFlg);
extern uint8_t OLED_GetWifiRetryStatus(void);
extern void OLED_ClrWifiRetryStatus(void);
extern uint8_t OLED_GetDateTimeRetryStatus(void);
extern void OLED_ClrDateTimeRetryStatus(void);
extern void OLED_SwitchPressed(uint8_t paraKeyNum);
extern void OLED_SwitchReleased(uint8_t paraKeyNum);

#endif /* APPLICATIONS_APP_OLED_H_ */
